XF86Config(4/5)

NAME
XF86Config - Configuration File for XFree86

DESCRIPTION
XFree86 uses a configuration file called XF86Config for its initial setup. This configuration file is searched for in the following places:

/etc/XF86Config
<XRoot>/lib/X11/XF86Config.hostname
<XRoot>/lib/X11/XF86Config

where <XRoot> refers to the root of the X11 install tree. When an X server is started by a `root' user, it will first search for an XF86Config file in that user's home directory.

This file is composed of a number of sections. Each section has the form:

Section "SectionName"
   SectionEntry
   ...
EndSection

The section names are:

Files (File pathnames)
ServerFlags (Server flags)
Keyboard (Keyboard configuration)
Pointer (Pointer configuration)
Monitor (Monitor description)
Device (Graphics device description)
Screen (Screen configuration)
XInput (Extended Input devices configuration)

The Files section is used to specify the default font path and the path to the RGB database. These paths can also be set from the command line (see Xserver(1)). The entries available for this section are:

FontPath "path"
    sets the search path for fonts. This path is a comma separated list of directories which the X server searches for font databases. Multiple FontPath entries may be specified, and they will be concatenated to build up the fontpath used by the server.

    X11R6 allows the X server to request fonts from a font server. A font server is specified by placing a "<trans>/<hostname>:<port_number>" entry into the fontpath. For example, the fontpath "/usr/X11R6/lib/X11/fonts/misc/,tcp/zok:7100" tells the X server to first try to locate the font in the local directory /usr/X11R6/lib/X11/fonts/misc. If that fails, then request the font from the font server running on machine zok listening for connections on TCP port number 7100.

RGBPath "path"
    sets the path name for the RGB color database.

The ServerFlags section is used to specify some miscellaneous X server options. The entries available for this section are:

NoTrapSignals
    This prevents the X server from trapping a range of unexpected fatal signals and exiting cleanly. Instead, the X server will die and drop core where the fault occurred. The default behaviour is for the X server exit cleanly, but still drop a core file. In general you never want to use this option unless you are debugging an X server problem.

DontZap
    This disallows the use of the Ctrl+Alt+Backspace sequence. This sequence allows you to terminate the X server. Setting DontZap allows this key sequence to be passed to clients.

DontZoom
    This disallows the use of the Ctrl+Alt+Keypad-Plus and Ctrl+Alt+Keypad-Minus sequences. These sequences allows you to switch between video modes. Setting DontZoom allows these key sequences to be passed to clients.

AllowNonLocalXvidtune
    This Allow the xvidtune client to connect from another host. By default non-local connections are not allowed.

DisableVidMode
    This Disable the the parts of the VidMode extension used by the xvidtune client that can be used to change the video modes.

The Keyboard section is used to specify the keyboard input device, parameters and some default keyboard mapping options. The entries available for this section are:

Protocol "kbd-protocol"
    kbd-protocol may be either Standard or Xqueue. Xqueue is specified when using the event queue driver on SVR3 or SVR4.

AutoRepeat delay rate
    changes the behavior of the autorepeat of the keyboard. This does not work on all platforms.

ServerNumLock
    forces the X server to handle the numlock key internally. The X server sends a different set of keycodes for the numpad when the numlock key is active. This enables applications to make use of the numpad.

LeftAlt mapping
RightAlt mapping
AltGr mapping
ScrollLock mapping
RightCtl mapping
    Allows a default mapping to be set for the above keys (note that AltGr is a synonym for RightAlt). The values that may be specified for mapping are:

    Meta
    Compose
    ModeShift
    ModeLock
    ScrollLock
    Control

    The default mapping when none of these options are specified is:

    LeftAlt     Meta
    RightAlt    Meta
    ScrollLock  Compose
    RightCtl    Control

XLeds led ...
    makes led available for clients instead of using the traditional function (Scroll Lock, Caps Lock & Num Lock). led is a list of numbers in the range 1 to 3.

VTSysReq
    enables the SYSV-style VT switch sequence for non-SYSV systems which support VT switching. This sequence is Alt-SysRq followed by a function key (Fn). This prevents the X server trapping the keys used for the default VT switch sequence.

VTInit "command"
    Runs command after the VT used by the server has been opened. The command string is passed to "/bin/sh -c", and is run with the real user's id with stdin and stdout set to the VT. The purpose of this option is to allow system dependent VT initialisation commands to be run. One example is a command to disable the 2-key VT switching sequence which is the default on some systems.

XkbDisable
    Turns the XKEYBOARD extension off, equivalent to using the -kb command line option.

XkbKeymap "keymap"
XkbKeycodes "keycodes"
XkbTypes "types"
XkbCompat "compat"
XkbSymbols "symbols"
XkbGeometry "geometry"
    Specifies alternative mappings for the various XKEYBOARD "components". The default mappings when none of these options are specified is:

    XkbKeymap    none
    XkbKeycodes  "keycodes/xfree86"
    XkbTypes     "types/default"
    XkbCompat    "compat/default"
    XkbSymbols   "symbols/us(pc101)"
    XkbGeometry  "geometry/pc"

The Pointer section is used to specify the pointer device and parameters. The entries available for this section are:

Protocol "protocol-type"
    specifies the pointer device protocol type. The protocol types available are:

    BusMouse
    Logitech
    Microsoft
    MMSeries
    Mouseman
    MouseSystems
    PS/2
    MMHitTab
    GlidePoint
    Xqueue
    OSMouse

    One should specify BusMouse for the Logitech bus mouse. Also, many newer Logitech serial mice use either the Microsoft or MouseMan protocol. Xqueue should be specified here if it was used in the Keyboard section. OSMouse refers to the event-driver mouse interface available on SCO's SVR3. This may optionally be followed by a number specifying the number of buttons the mouse has.

Device "pointer-dev"
    specifies the device the server should open for pointer input (eg, /dev/tty00 or /dev/mouse). A device should not be specified when using the Xqueue or OSMouse protocols.

BaudRate rate
    sets the baudrate of the serial mouse to rate. For mice that allow dynamic speed adjustments (like Logitech) the baudrate is changed in the mouse. Otherwise the rate is simply set on the computer's side to allow mice with non-standard rates (the standard rate is 1200).

Emulate3Buttons
    enables the emulation of the third mouse button for mice which only have two physical buttons. The third button is emulated by pressing both buttons simultaneously.

Emulate3Timeout timeout
    sets the time (in milliseconds) that the server waits before deciding if two buttons were pressed ``simultaneously'' when 3 button emulation is enabled. The default timeout is 50ms.

ChordMiddle
    handles mice which send left+right events when the middle button is used (like some Logitech Mouseman mice).

SampleRate rate
    sets the number of motion/button-events the mouse sends per second. This is currently only supported for some Logitech mice.

ClearDTR
    This option clears the DTR line on the serial port used by the mouse. This option is only valid for a mouse using the MouseSystems protocol. Some dual-protocol mice require DTR to be cleared to operate in MouseSystems mode. Note, in versions of XFree86 prior to 2.1, this option also cleared the RTS line. A separate ClearRTS option has since been added for mice which require this.

ClearRTS
    This option clears the RTS line on the serial port used by the mouse. This option is only valid for a mouse using the MouseSystems protocol. Some dual-protocol mice require both DTR and RTS to be cleared to operate in MouseSystems mode. Both the ClearDTR and ClearRTS options should be used for such mice.

The Monitor sections are used to define the specifications of a monitor and a list of video modes suitable for use with a monitor. More than one Monitor section may be present in an XF86Config file. The entries available for this section are:

Identifier "ID string"
    This specifies a string by which the monitor can be referred to in a later Screen section. Each Monitor section should have a unique ID string.

VendorName "vendor"
    This optional entry specifies the monitor's manufacturer.

ModelName "model"
    This optional entry specifies the monitor's model.

HorizSync horizsync-range
    gives the range(s) of horizontal sync frequencies supported by the monitor. horizsync-range may be a comma separated list of either discrete values or ranges of values. A range of values is two values separated by a dash. By default the values are in units of kHz. They may be specified in MHz or Hz if MHz or Hz is added to the end of the line. The data given here is used by the X server to determine if video modes are within the specifications of the monitor. This information should be available in the monitor's handbook.

VertRefresh vertrefresh-range
    gives the range(s) of vertical refresh frequencies supported by the monitor. vertrefresh-range may be a comma separated list of either discrete values or ranges of values. A range of values is two values separated by a dash. By default the values are in units of Hz. They may be specified in MHz or kHz if MHz or kHz is added to the end of the line. The data given here is used by the X server to determine if video modes are within the specifications of the monitor. This information should be available in the monitor's handbook.

Gamma gamma-value(s)
    This is an optional entry that can be used to specify the gamma correction for the monitor. It may be specified as either a single value or as three separate RGB values. Not all X servers are capable of using this information.

Mode "name"
    indicates the start of a multi-line video mode description. The mode description is terminated with an EndMode line. The mode description consists of the following entries:

    DotClock clock
        is the dot clock rate to be used for the mode.

    HTimings hdisp hsyncstart hsyncend htotal
        specifies the horizontal timings for the mode.

    VTimings vdisp vsyncstart vsyncend vtotal
        specifies the vertical timings for the mode.

    Flags "flag" ...
        specifies an optional set of mode flags. "Interlace" indicates that the mode is interlaced. "DoubleScan" indicates a mode where each scanline is doubled. "+HSync" and "-HSync" can be used to select the polarity of the HSync signal. "+VSync" and "-VSync" can be used to select the polarity of the VSync signal. "Composite", can be used to specify composite sync on hardware where this is supported. Additionally, on some hardware, "+CSync" and "-CSync" may be used to select the composite sync polarity.

Modeline "name" mode-description
    is a single line format for specifying video modes. The mode-description is in four sections, the first three of which are mandatory. The first is the pixel clock. This is a single number specifying the pixel clock rate for the mode. The second section is a list of four numbers specifying the horizontal timings. These numbers are the hdisp, hsyncstart, hsyncend, htotal. The third section is a list of four numbers specifying the vertical timings. These numbers are vdisp, vsyncstart, vsyncend, vtotal. The final section is a list of flags specifying other characteristics of the mode. Interlace indicates that the mode is interlaced. "DoubleScan" indicates a mode where each scanline is doubled. +HSync and -HSync can be used to select the polarity of the HSync signal. +VSync and -VSync can be used to select the polarity of the VSync signal. Composite can be used to specify composite sync on hardware where this is supported. Additionally, on some hardware, "+CSync" and "-CSync" may be used to select the composite sync polarity.

The Device sections are used to define a graphics device (video board). More than one Device section may be present in an XF86Config file. The entries available for this section are:

Identifier "ID string"
    This specifies a string by which the graphics device can be referred to in a later Screen section. Each Device section should have a unique ID string.

VendorName "vendor"
    This optional entry specifies the graphics device's manufacturer.

BoardName "model"
    This optional entry specifies the name of the graphics device.

Chipset "chipset-type"
    This optional entry specifies the chipset used on the graphics board. In most cases this entry is not required because the X servers will probe the hardware to determine the chipset type.

Ramdac "ramdac-type"
    This optional entry specifies the type of RAMDAC used on the graphics board. This is only used by a few of the X servers, and in most cases it is not required because the X servers will probe the hardware to determine the RAMDAC type where possible.

DacSpeed speed
    This optional entry specifies the RAMDAC speed rating (which is usually printed on the RAMDAC chip). The speed is in MHz. This is only used by a few of the X servers, and only needs to be specified when the speed rating of the RAMDAC is different from the default built in to the X server.

Clocks clock ...
    specifies the dotclocks that are on your graphics board. The clocks are in MHz, and may be specified as a floating point number. The value is stored internally to the nearest kHz. The ordering of the clocks is important. It must match the order in which they are selected on the graphics board. Multiple Clocks lines may be specified. For boards with programmable clock chips, the ClockChip entry should be used instead of this. A Clocks entry is not mandatory for boards with non-programmable clock chips, but is highly recommended because it prevents the clock probing phase during server startup. This clock probing phase can cause problems for some monitors.

ClockChip "clockchip-type"
    This optional entry is used to specify the clock chip type on graphics boards which have a programmable clock generator. Only a few X servers support programmable clock chips. For details, see the appropriate X server manual page.

ClockProg "command" [textclock]
    This optional entry runs command to set the clock on the graphics board instead of using the internal code. The command string must consist of the full pathname (and no flags). When using this option, a Clocks entry is required to specify which clock values are to be made available to the server (up to 128 clocks may be specified). The optional textclock value is used to tell the server that command must be run to restore the textmode clock at server exit (or when VT switching). textclock must match one of the values in the Clocks entry. This parameter is required when the clock used for text mode is a programmable clock. The command is run with the real user's id with stdin and stdout set to the graphics console device. Two arguments are passed to the command. The first is the clock frequency in MHz as a floating point number and the second is the index of the clock in the Clocks entry. The command should return an exit status of 0 when successful, and something in the range 1-254 otherwise. The command is run when the initial graphics mode is set and when changing screen resolution with the hot-key sequences. If the program fails at initialisation the server exits. If it fails during a mode switch, the mode switch is aborted but the server keeps running. It is assumed that if the command fails the clock has not been changed.

Option "optionstring"
    This optional entry allows the user to select certain options provided by the drivers. Multiple Option entries may be given. The supported values for optionstring are given in the appropriate X server manual pages.

VideoRam mem
    This optional entry specifies the amount of videoram that is installed on the graphics board. This is measured in kBytes. In most cases this is not required because the X server probes the graphics board to determine this quantity.

BIOSBase baseaddress
    This optional entry specifies the base address of the video BIOS for the VGA board. This address is normally 0xC0000, which is the default the X servers will use. Some systems, particularly those with on-board VGA hardware, have the BIOS located at an alternate address, usually 0xE0000. If your video BIOS is at an address other than 0xC0000, you must specify the base address in the XF86Config file. Note that some X servers don't access the BIOS at all, and those which do only use the BIOS when searching for information during the hardware probe phase.

MemBase baseaddress
    This optional entry specifies the memory base address of a graphics board's linear frame buffer. This entry is only used by a few X servers, and the interpretation of this base address may be different for different X servers. Refer to the appropriate X server manual page for details.

IOBase baseaddress
    This optional entry specifies the IO base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

DACBase baseaddress
    This optional entry specifies the DAC base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

POSBase baseaddress
    This optional entry specifies the POS base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

COPBase baseaddress
    This optional entry specifies the coprocessor base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

VGABase baseaddress
    This optional entry specifies the VGA memory base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

Instance number
    This optional entry specifies the instance (which indicates if the chip is integrated on the motherboard or on an expansion card). This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

Speedup "selection"
    This optional entry specifies the selection of speedups to be enabled. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

S3MNAdjust M N
    This optional entry is specific to the S3 X server. For details, refer to the XF86_S3(1) manual page.

S3MClk clock
    This optional entry is specific to the S3 X server. For details, refer to the XF86_S3(1) manual page.

S3RefClock clock
    This optional entry is specific to the S3 X server. For details, refer to the XF86_S3(1) manual page.

The Screen sections are used to specify which graphics boards and monitors will be used with a particular X server, and the configuration in which they are to be used. The entries available for this section are:

Driver "driver-name"
    Each Screen section must begin with a Driver entry, and the driver-name given in each Screen section must be unique. The driver name determines which X server (or driver type within an X server when an X server supports more than one head) reads and uses a particular Screen section. The driver names available are:

    Accel
    Mono
    SVGA
    VGA2
    VGA16

    Accel is used by all the accelerated X servers (see XF86_Accel(1)). Mono is used by the non-VGA mono drivers in the 2-bit and 4-bit X servers (see XF86_Mono(1) and XF86_VGA16(1)). VGA2 and VGA16 are used by the VGA drivers in the 2-bit and 4-bit X servers respectively. SVGA is used by the XF86_SVGA X server.

Device "device-id"
    specifies which graphics device description is to be used.

Monitor "monitor-id"
    specifies which monitor description is to be used.

ScreenNo scrnum
    This optional entry overrides the default screen numbering in a multi-headed configuration. The default numbering is determined by the ordering of the Screen sections in the XF86Config file. To override this, all relevant Screen sections must have this entry specified.

BlankTime time
    sets the inactivity timeout for the blanking phase of the screensaver. time is in minutes, and the default is 10. This is equivalent to the Xserver's `-s' flag, and the value can be changed at run-time with xset(1).

SuspendTime time
    sets the inactivity timeout for the ``suspend'' phase of the screensaver. time is in minutes, the default is 15, and it can be changed at run-time with xvidtune(1). This is only suitable for VESA DPMS compatible monitors, and is only supported currently by some Xservers. The "power_saver" Option must be set for this to be enabled.

OffTime time
    sets the inactivity timeout for the ``off'' phase of the screensaver. time is in minutes, the default is 30, and it can be changed at run-time with xvidtune(1). This is only suitable for VESA DPMS compatible monitors, and is only supported currently by some Xservers. The "power_saver" Option must be set for this to be enabled.

SubSection "Display"
    This entry is a subsection which is used to specify some display specific parameters. This subsection is terminated by an EndSubSection entry. For some X servers and drivers (those requiring a list of video modes) this subsection is mandatory. For X servers which support multiple display depths, more than one Display subsection may be present. When multiple Display subsections are present, each must have a unique Depth entry. The entries available for the Display subsection are:

    Depth bpp
        This entry is mandatory when more than one Display subsection is present in a Screen section. When only one Display subsection is present, it specifies the default depth that the X server will run at. When more than one Display subsection is present, the depth determines which gets used by the X server. The subsection used is the one matching the depth at which the X server is run at. Not all X servers (or drivers) support more than one depth. Permitted values for bpp are 8, 15, 16, 24 and 32. Not all X servers (or drivers) support all of these values. bpp values of 24 and 32 are treated equivalently by those X servers which support them.

    Weight RGB
        This optional entry specifies the relative RGB weighting to be used for an X server running at 16bpp. This may also be specified from the command line (see XFree86(1)). Values supported by most 16bpp X servers are 555 and 565. For further details, refer to the appropriate X server manual page.

    Virtual xdim ydim
        This optional entry specifies the virtual screen resolution to be used. xdim must be a multiple of either 8 or 16 for most colour X servers, and a multiple of 32 for the monochrome X server. The given value will be rounded down if this is not the case. For most X servers, video modes which are too large for the specified virtual size will be rejected. If this entry is not present, the virtual screen resolution will be set to accommodate all the valid video modes given in the Modes entry. Some X servers do not support this entry. Refer to the appropriate X server manual pages for details.

    ViewPort x0 y0
        This optional entry sets the upper left corner of the initial display. This is only relevant when the virtual screen resolution is different from the resolution of the initial video mode. If this entry is not given, then the initial display will be centered in the virtual display area.

    Modes "modename" ...
        This entry is mandatory for most X servers, and it specifies the list of video modes to use. The video mode names must correspond to those specified in the appropriate Monitor section. Most X servers will delete modes from this list which don't satisfy various requirements. The first valid mode in this list will be the default display mode for startup. The list of valid modes is converted internally into a circular list. It is possible to switch to the next mode with Ctrl+Alt+Keypad-Plus and to the previous mode with Ctrl+Alt+Keypad-Minus.

    InvertVCLK "modename" 0|1
        This optional entry is specific to the S3 server only. It may be used to change the default VCLK invert/non-invert state for individual modes. If "modename" is "*" the setting applies to all modes unless unless overridden by later entries.

    EarlySC "modename" 0|1
        This optional entry is specific to the S3 server only. It may be used to change the default EarlySC setting for individual modes. This setting can affect screen wrapping. If "modename" is "*" the setting applies to all modes unless unless overridden by later entries.

    BlankDelay "modename" value1 value2
        This optional entry is specific to the S3 server only. It may be used to change the default blank delay settings for individual modes. This can affect screen wrapping. value1 and value2 must be integers in the range 0-7. If "modename" is "*" the setting applies to all modes unless unless overridden by later entries.

    Visual "visual-name"
        This optional entry sets the default root visual type. This may also be specified from the command line (see Xserver(1)). The visual types available for 8bpp X servers are (default is PseudoColor):

StaticGray
GrayScale
StaticColor
PseudoColor
TrueColor
DirectColor

    The visual type available for the 16bpp and 32bpp X servers is TrueColor.

    The visual type available for the 1bpp X server is StaticGray.

    The visual types available for the 4bpp X server are (default is PseudoColor):

StaticGray
GrayScale
StaticColor
PseudoColor

    Option "optionstring"
        This optional entry allows the user to select certain options provided by the drivers. Multiple Option entries may be given. The supported values for optionstring are given in the appropriate X server manual pages.

    Black red green blue
        This optional entry allows the ``black'' colour to be specified. This is only supported with the VGA2 driver in the XF86_Mono server (for details see XF86_Mono(1)).

    White red green blue
        This optional entry allows the ``white'' colour to be specified. This is only supported with the VGA2 driver in the XF86_Mono server (for details see XF86_Mono(1)).

The optional XInput section is used to specify configuration options for the extended input devices. Each extended device has its own subsection. To enable an extended device the corresponding subsection must appear. The subsections names are:

Joystick (only on supported systems ie. Linux and FreeBSD)
WacomStylus (stylus of a Wacom tablet)
WacomEraser (eraser of a Wacom tablet)
WacomCursor (cursor of a Wacom tablet)
Elographics (Elographics touchscreen)

The Joystick subsection supports the following entries:

    Port "path"
        sets the path to the special file which represents the device driver.

    DeviceName "name"
        sets the name of the X device.

    TimeOut timeout
        sets the time (in milliseconds) between two polls of the device driver. The value given here may be overriden by the Operating System's joystick driver.

    MaximumXPosition value
        sets the maximum X value reported by the device driver.

    MininimumXPosition value
        sets the minimum X value reported by the device driver.

    MaximumYPosition value
        sets the maximum Y value reported by the device driver.

    MinimumYPosition value
        sets the minimum Y value reported by the device driver.

    CenterX value
        sets the X center reported by the device driver when the joystick is idle. If this value is omitted, it is assumed that the joystick is centered when it is first enabled.

    CenterY value
        sets the Y center reported by the device driver when the joystick is idle. If this value is omitted, it is assumed that the joystick is centered when it is first enabled.

    Delta value
        sets the maximum value reported to the X server. i.e. coordinates will be incremented of (+/-)value/2 at maximum deflection. This determines the sensitivity.

The WacomStylus, WacomEraser  and WacomCursor subsections
    support the following entries:

    Port "path"
        sets the path to the special file which represents serial line where the tablet is plugged. You have to specify it for each subsection with the same value if you want to have multiple devices with the same tablet.

    DeviceName "name"
        sets the name of the X device.

    Suppress number
        sets the position increment under which not to transmit coordinates. This entry must be specified only in the first Wacom subsection if you have multiple devices for one tablet.

    Mode Relative|Absolute
        sets the mode of the device.

The Elographics subsection support the following entries:

    Port "path"
        sets the path to the special file which represents the device driver.

    DeviceName "name"
        sets the name of the X device.

    MaximumXPosition position
        sets the maximum X position reported by the touchscreen.

    MinimumXPosition position
        sets the minimum X position reported by the touchscreen.

    MaximumYPosition position
        sets the maximum Y position reported by the touchscreen.

    MinimumYPosition position
        sets the minimum Y position reported by the touchscreen.

    ScreenNo number
        sets the screen number where the touchscreen is connected.

    UntouchDelay value
        sets the delay (in tens of milliseconds) after which the device considers that an untouch occurs.

    ReportDelay value
        sets the delay (in ten of milliseconds) between two reports of positions.

For an example of an XF86Config file, see the file installed as <XRoot>/lib/X11/XF86Config.eg.

FILES

/etc/XF86Config
<XRoot>/lib/X11/XF86Config.hostname
<XRoot>/lib/X11/XF86Config

Note: <XRoot> refers to the root of the X11 install tree.

SEE ALSO
X(1), Xserver(1), XFree86(1), XF86_SVGA(1), XF86_VGA16(1), XF86_Mono(1), XF86_S3(1), XF86_8514(1), XF86_Mach8(1), XF86_Mach32(1), XF86_P9000(1), XF86_AGX(1), XF86_W32(1).

AUTHORS

Refer to the XFree86(1) manual page.